package com.healthcloud.service;

import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import com.healthcloud.entity.DoctorAndPatientsRelation;
import com.healthcloud.entity.Patient;
import com.healthcloud.entity.PatientCriteria;
import com.healthcloud.vo.PatientVo;

/**
 * 医生-病人-医院 关联关系 接口
 * @author ZhengL
 * 2015-08-20
 */
public interface DoctorAndPatientsRelationService {

	/**
	 * 保存
	 * @param entity
	 * @return
	 */
	int save(DoctorAndPatientsRelation entity);

	/**
	 * 更新
	 * @param entity
	 * @return
	 */
	int update(DoctorAndPatientsRelation entity);

	/**
	 * 删除
	 * @param id 主键编号
	 * @return
	 */
	int delete(Long id);
	/**
	 * 创建医院-医生-病人关系表
	 * @param hosId 医院编号
	 * @param docId 医生编号
	 * @param idCard 病人身份证号
	 * @return
	 */
	DoctorAndPatientsRelation create(String hosId,String docId,String idCard);
	/**
	 * 根据关系表查找病人列表
	 * @param hosId 医院编号
	 * @param docId 医生编号
	 * @param range 结果集范围：0-医生关联下的病人，1-医院关联下的病人
	 * @return
	 */
	List<PatientVo> findPatientsByRelation(String hosId,String docId,String range);
	/**
	 * 页面查询病人列表
	 * @param criteria （查询条件）
	 * @param pageable （分页参数）
	 * @return
	 */
	Page<Patient> findPatientsByCriteria(PatientCriteria criteria, Pageable pageable); 
}
